1. Technical Field
This application generally relates to a data storage system, and more particularly to techniques used with device initialization.
2. Description of Related Art
Computer systems may include different resources used by one or more host processors. Resources and host processors in a computer system may be interconnected by one or more communication connections. These resources may include, for example, data storage devices such as those included in the data storage systems manufactured by EMC Corporation. These data storage systems may be coupled to one or more host processors and provide storage services to each host processor. Multiple data storage systems from one or more different vendors may be connected and may provide common data storage for one or more host processors in a computer system.
A host processor may perform a variety of data processing tasks and operations using the data storage system. For example, a host processor may perform basic system I/O operations in connection with data requests, such as data read and write operations.
Host processor systems may store and retrieve data using a storage device containing a plurality of host interface units, disk drives, and disk interface units. Such storage devices are provided, for example, by EMC Corporation of Hopkinton, Mass. and disclosed in U.S. Pat. No. 5,206,939 to Yanai et al., U.S. Pat. No. 5,778,394 to Galtzur et al., U.S. Pat. No. 5,845,147 to Vishlitzky et al., and U.S. Pat. No. 5,857,208 to Ofek. The host systems access the storage device through a plurality of channels provided therewith. Host systems provide data and access control information through the channels to the storage device and storage device provides data to the host systems also through the channels. The host systems do not address the disk drives of the storage device directly, but rather, access what appears to the host systems as a plurality of logical disk units. The logical disk units may or may not correspond to the actual disk drives. Allowing multiple host systems to access the single storage device unit allows the host systems to share data stored therein.
Different tasks may be performed in connection with data stored on one or more data storage systems. One task that may be performed in connection with a device of a data storage system is a command to initialize the device, such as with a SCSI format command. One existing technique for formatting a device on a data storage system may include, in addition to other processing steps, initializing each track of the device. Further, a system may utilize mirroring so that one or more mirrors of the device may also be initialized as part of the processing.
The foregoing existing technique has some drawbacks. Initializing each track of the device and one or more associated mirrors may be very time consuming and use a lot of computing resources. A track may define a portion of physical storage such as, for example, multiple blocks on a data storage device. The resources of the disk director or disk adapter (DA) performing the initialization of device tracks may be consumed to saturation so that the DA is unable to process other requests such as, for example, host I/O operations. Additionally, the amount of time to perform the initialization may cause a host that issued the format command to timeout while waiting for the initialization to complete.
A variation of the foregoing may notify the host that the format operation has successfully completed when a first mirror has its tracks initialized. However, the time taken to perform this initialization may still exceed an amount of time causing the host to timeout. Additionally, even if the host does not timeout, the host thinks that all mirrors have been initialized when, in fact, all the mirrors are not initialized. Subsequently, a write operation to the device may occur prior to completing initialization of all the mirrors so that a vulnerability exists in that the primary mirror may not be protected by the other mirrors (e.g., may not reflect the write operation).
Another approach may limit, or otherwise reduce, the amount of DA resources that can be devoted to performing the initialization operation at a point in time. While this makes DA resources available for performing other operations, such as host I/O operations, decreasing the DA resources allocated for use in initialization also further increases the amount of time it takes to perform initialization of the device and its associated mirrors.
Thus, it may be desirable to utilize a technique in connection with initializing a device and its associated mirrors which efficiently utilizes resources of a data storage system and performs the initialization within a time period that reduces the timeouts experienced by a host. It may also be desirable that such a technique provides data protection of write operations such that all mirrors protected. It may also be desirable that such a technique minimizes adverse performance related to host I/O operations.